package com.ruoyi.mateCheck.mapper;

import com.ruoyi.mateCheck.domain.MateCheck;
import com.ruoyi.mateCheck.domain.MateCheckModel;
import com.ruoyi.mateCheck.domain.MateCheckProduct;
import com.ruoyi.mateCheck.domain.MateCheckResult;
import com.ruoyi.mateCheck.domain.MateCheckSample;
import com.ruoyi.mateWarehousing.domain.MateWarehousing;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author
 * @Version 1.0
 */
@Mapper
public interface MateCheckMapper {

    int addCheckInformation(MateCheck mateCheckInformation);

    int insertCheckModel(MateCheckModel mateCheckModel);

    int insertCheckProduct(MateCheckProduct mateCheckProduct);

    int insertCheckSample(MateCheckSample mateCheckSample);

    public List<MateCheck> selectMateProductCheck(Long deptId);

    public List<MateCheck> selectCheckInformation(MateCheck mateCheck);

    public List<MateCheckModel> selectModels(Long ckInformationId);

    MateCheck selectCheckInformationById(Long ckInformationId);

    public MateCheck selectMateCheckByOrderId(Long ckInformationId);

    public void deleteMateCheck(Long ckInformationId);

    public int updateCheckInformation(MateCheck mateCheck);

    public int updateCheckModel(MateCheckModel mateCheckModel);

    List<Long> selectMateCheckModel(Long ckInformationId);

    public void deleteMateCheckModel(Long checkNo);

    public void deleteMateCheckModelById(Long ckInformationId);

    List<MateCheckModel> selectMateCheckModelDevice(MateCheckModel mateCheckModel);

    public List<MateCheckModel> selectMateWarehousingCheck(MateWarehousing mateWarehousing);

    public int insertCheckResult(MateCheckResult mateCheckResult);

    public int updateCheckResult(MateCheckResult mateCheckResult);

    public void removeCheckResult(Long ckInformationId);

    public void removeCheckProduct(Long ckInformationId);

    public List<MateCheckSample> selectMateCheckSample(Long ckInformationId);

    public List<MateCheckResult> selectMateCheckResult(Long ckInformationId);

    public MateCheck selectLast(Long deptId);

}
